<template>
  <div class="container">
    <div class="iconfont back-icon"  @click="handleGallaryClick">&#xe685;</div> 
    <div class="wrapper">
            <swiper :options='swiperOptions'>
                <!-- slides -->
                <swiper-slide v-for="(item,index) in imgs" :key="index">
                    <img class='gallary-img' :src="item"/>
                </swiper-slide>
                <!-- 通过slot插槽把数据传入到swiper 用于定制 -->
                <div class="swiper-pagination"  slot="pagination"></div>
            </swiper>
    </div>
  </div>
</template>

<script>
export default {
  name: "CommonGallary",
  props: {
    // 接收传递的参数
    imgs: {
      type: Array,
      default() {
        return [];
      }
    }
  },
  data() {
    return {
      swiperOptions: {
        // swiper配置方法去swiper官网查看api文档 fraciton代表了一种分页器的样式
        // observeParents 父元素更新则swiper更新，observer子元素变化则swiper初始化
        pagination: ".swiper-pagination",
        paginationType: "fraction",
        observer: true,
        observeParents: true
      }
    };
  },
  methods: {
    // 调用自定义事件
    handleGallaryClick (){
      this.$emit('close')
    }
  },
};
</script>

<style lang="less" scoped>
.container /deep/ .swiper-container {
  overflow: inherit;
}
.container {
  z-index: 999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: #000;
  .wrapper {
    width: 100%;
    height: 0;
    // overflow: hidden;
    padding-bottom: 100%;
    .gallary-img {
      width: 100%;
    }
    .swiper-pagination {
      color: #fff;
      bottom:-1rem;
      font-size: .4rem;
    }
  }
  .back-icon{
    position:absolute;
    color: #fff;
    top: .64rem;
    left: .2rem;
    font-size: .4rem;
  }
}
</style>
